Non-volatile memory devices are used in a variety of devices and applications. Unlike volatile memory devices, they maintain data stored therein even when they are disconnected from a power supply. Consequently, they are particularly useful in mobile devices.
There are different types of non-volatile memory devices. Whereas the memory content of read-only memory (ROM) and programmable ROM (PROM) devices cannot be altered, erasable PROM (EPROM), electronic erasable PROM (EEPROM) and flash EEPROM memory devices allow to reprogram some or all of the memory cells comprised therein.
EEPROM and flash EEPROM memory devices comprise a memory array comprising a multiplicity of transistors with charge-storage elements, the amount of charge stored in the charge-storage element affects a threshold level of the memory cell. Thus, the amount of charge stored in the charge-storage element is used to encode the logic programming state of the memory cell.
Such non-volatile memory devices further comprise a controller that is adapted to provide at least the following functions:
delete: serves to erase the content of one or a block of memory cells,
program: serves to program a predefined data value into one or a block of memory cells,
read: serves to read the content of one or a block of memory cells.
During delete and program operations, the threshold level of the affected memory cells is verified, often repeatedly, in order to make sure the memory cells are not over-programmed or over-erased. Over-programming and over-erasing in this context means that the threshold of a memory cell is pushed above or below a critical level, such that subsequent operations on the memory cell may fail. Excessive over-programming or over-erasing may also reduce the total lifetime of the memory device.
During verification the actual threshold level of the memory cell is compared with a designated target range or level. Memory cells out of this target range are then subjected to further programming or erase operations. Subsequently, the memory cells are verified again as described above until all memory cells are programmed or erased successfully.
Methods for verification of program and erase operations in non-volatile memory devices are known from the documents U.S. Pat. No. 6,477,087 and U.S. Pat. No. 6,816,411, which are both incorporated herein by reference.
Whereas in conventional EEPROM memory devices only a few programming and verification operations are required for successful programming, more advanced non-volatile memory devices, comprising, for example, multilevel cells (MLC) or nitride ROM (NROM) cells, often require more program and verification cycles. This is because the target levels in these cells are specified within narrower bounds.
In addition, the verification of NROM cells requires a relatively large current, which can be critical, particularly in mobile applications. This is due to the fact that bitlines, which need to be charged during verification, are longer in NROM cells than in other types of EEPROM memory devices, thus resulting in higher bitline capacities.
Consequently, there exists a need for improved methods and devices for programming and verifying memory cells.